home *** CD-ROM | disk | FTP | other *** search
- Brief documentation for TOS2GEM dated 26.07.1995, position at 03.08.1995
- ========================================================================
-
- 1. What is TOS2GEM?
- -------------------
- TOS2GEM is an Auto folder program which GEM applications can access in
- a flexible way to display the output from TOS and TTP programs as VDI
- text in a Console window.
- TOS2GEM makes the ideal Console window for use with shells or alternative
- desktops and saves the programmer some effort!
-
- TOS2GEM was principally designed for use under Single TOS and although it
- runs fine under Geneva, MagiC and MultiTOS its use there is limited as
- under these systems TOS programs run in windows anyway (if they have been
- started correctly).
-
- The most important TOS2GEM features at a glance:
- - Gives prorammers a clean way of redirecting the output of TOS/TTP type
- programs into a GEM window.
- - Simulates TOS screens of various sizes (not just boring 80x25) that may
- optionally be only partly visible.
- - Works with all monospaced fonts irrespective of size.
- - Optional output buffer allows faster output than with GEMDOS/BIOS (only
- for SingleTOS/MagiC).
- - Optional scroll-back buffer allows output to be reviewed.
- - Offers almost complete VT52 emulation (colour sequences optional only)
-
-
- 2. Installation
- ---------------
- Copy TOS2GEM.PRG to the Auto folder of your boot partition. TOS2GEM
- installs a Cookie during booting which programmers can use to control
- some of TOS2GEM's functions. TOS2GEM.PRG can also be run from the desktop.
-
-
- 3. What is T2GRESET.PRG?
- ------------------------
- Programs must reserve TOS2GEM for themselves; until released other
- programs cannot make use of TOS2GEM.
- If a program which had reserved TOS2GEM crashes or is exited without
- releasing TOS2GEM, you can use T2GRESET.PRG from the desktop to release
- TOS2GEM. It's not a good idea to run T2GRESET.PRG if an application
- which has reserved TOS2GEM is still running, as this inevitably causes
- serious complications.
- Signs that a lock-up has taken place are if no program using TOS2GEM will
- run, and a newly-started one reports that it cannot make a reservation.
-
-
- 4. What is T2G_INTR.PRG?
- ------------------------
- Since the beta-version dated 09.07.1995, TOS2GEM uses the vertical-blank
- interrupt during time-controlled buffering to trigger screen refreshes
- even when there has been no TOS-output for some time (previously checks
- for exceeding the given period were only made during output). If this
- should unexpectedly lead to problems (e.g. unexplained crashes while
- output redirection is active), one can use T2G_INTR.PRG to switch off the
- use of this interrupt (and to switch it on again, if desired, by running
- the program a second time). If one wishes or needs to disable the use of
- the VBL interrupt permanently, then T2G_INTR.PRG should be placed
- physically after TOS2GEM.PRG in the AUTO folder.
-
- Important: Those who have previously included the mini-package of TOS2GEM
- (see Section 9) with their programs mustn't overlook the fact that
- T2G_INTR.PRG has now been included in this package!
-
-
- 5. What are T2G_TEST.PRG and PRIME_NO.TOS?
- ------------------------------------------
- (These have been renamed from the German T2G_BSP.PRG and PRIMZAHL.TOS so
- that the titles indicate their purpose better to English-speaking users).
- Since it is difficult to visualise from the theoretical description of
- TOS2GEM operation what the program actually does, I wrote a small test
- program (namely T2G_TEST.PRG, meaning TOS2GEM-test). These two programs
- are incidentally not contained in the mini-package (see Section 9).
-
- After starting the test program (TOS2GEM must of course have been started
- first) a dialog box appears in which one can input the dimensions of the
- TOS screen that TOS2GEM is to simulate, and the maximum area that is to
- be visible. One can also choose here whether and how output buffering and
- colour support of TOS2GEM is to be used. Following this a corresponding
- window will be opened (already using the TOS2GEM redirection) into which
- the realised dimensions will be written.
-
- Immediately after this the PRIME_NO.TOS program (that has to be in the
- same directory) will be started; it can execute simple prime number
- calculations using the 'Sieve of Eratosthenes' method (one can also use
- any other TOS program, it just has to be re-named to PRIME_NO.TOS and
- placed in the correct directory). To use it, just follow the prompts;
- note that you have to type 'j' for 'Yes' (which in German is 'ja').
-
- After ending the prime number program one can move the window, into which
- the output was redirected cleanly, around the screen. Clicking on the
- Closer symbol at top left quits the program. A click inside the window
- area brings up an alert box offering three options: 'Resize' permits
- altering the TOS2GEM window area (with the same dialog that appeared at
- the start; during this the whole screen will be cleared if its total size
- is changed). With 'Rerun' one can start PRIME_NO.TOS again, while
- 'Nothing' does just that...
-
- The test program has been kept simple deliberately, partly so one can see
- that TOS2GEM support is quite easy to realise. Not all the options of
- TOS2GEM are demonstrated (in particular, neither multiple fonts in
- various sizes are used nor is a scroll-back buffer implemented), but
- there should still be enough to illustrate the opportunities that TOS2GEM
- offers.
-
- Those who would like to have the source code in order to get a concrete
- picture of what TOS2GEM support involves should apply to me (see below).
- Since the source has now been extensively commented (in German!) and a
- number of library functions have been included directly so that it can be
- compiled on its own, it has grown to a stately 46 kB in the meantime.
- However the portion needed only for TOS2GEM support is relatively small
- (not including the comments), so don't be frightened...
-
-
- 6. Where is the programmers documentation?
- ------------------------------------------
- It's still not quite complete at the moment. I have decided to release
- the hypertext with information (not only) for programmers in its still
- incomplete form, since it has now become at least half-way usable.
- To view it you need ST-Guide by Holger Weets, who I wish to thank once
- more here for this wonderful tool.
-
- In addition, those who understand German will find articles in
- ST-Computer magazine for 04/95 and 05/95 very helpful. Furthermore it is
- suggested that all programmers should take a look at the TOS2GEM library
- from Dirk Klemmt (klemmt@stud.uni-frankfurt.de) for Pure and Gnu C,
- since this makes the use of TOS2GEM childishly easy. A short overview of
- its capabilities can be obtained from ST-Computer 05/95. Those wanting to
- know more should approach Dirk, since I have had little or nothing to do
- with the library itself.
-
-
- 7. INSPECT.TTP
- --------------
- This tiny program serves as an aid for programmers who want to write
- applications with TOS2GEM support. You will find more about this in the
- text and hypertext files.
-
-
- 8. Disclaimer
- -------------
- Although TOS2GEM and the associated utilities have been carefully
- programmed and thoroughly tested I cannot guarantee that no bugs remain.
- Therefore I cannot guarantee either the fault-free operation of TOS2GEM,
- nor its fitness for any particular purpose. You use TOS2GEM at your own
- risk!
-
- I, Thomas Binder, do not accept any liability or responsibility for any
- direct or indirect damage that may arise, either financial, material or
- any other kind, from either the use or misuse of TOS2GEM and its
- associated applications, utilities and documentation.
-
- All trademarks mentioned in the TOS2GEM documentation are acknowledged
- and recognised.
-
-
- 9. Distribution of TOS2GEM
- --------------------------
- TOS2GEM is freeware and may be copied and used freely. However
- distribution may take place only in one of two variants, where all the
- named files have to be copied unchanged in each case (archiving is
- permitted):
-
- a) Complete package
- Contains TOS2GEM.PRG, T2GRESET.PRG, T2G_INTR.PRG, TOS2GEM.H, TOS2GEM.TXT,
- T2G_TEST.PRG, PRIME_NO.TOS, INSPECT.TTP, TOS2GEM.HYP and TOS2GEM.REF.
- This package is mainly intended for distributing TOS2GEM on its own (when
- it is not included with another program).
-
- b) Mini-package
- Contains only TOS2GEM.PRG, T2GRESET.PRG, T2G_INTR.PRG and TOS2GEM.TXT.
- This variant should only be used when one wants TOS2GEM to accompany a
- program that requires it.
-
- Those who have developed their own programs that need or support TOS2GEM
- may include TOS2GEM in their program package (in one of the above-
- mentioned forms) under the following conditions:
-
- - TOS2GEM must be copied to its own folder
- - The documentation or the program must contain instructions for
- using TOS2GEM
- - It must be clear from the documentation that TOS2GEM is a separate,
- free-standing utility developed by me, and that it does not belong
- to the actual program.
-
- Furthermore I would be most grateful if you would send me a sample of the
- program.
-
-
- 10. Contact with the author
- ---------------------------
- For those who have found errors, would like the test program source code,
- need help with programming TOS2GEM applications, want to express praise,
- criticism or simply to chat, here are my details:
-
- Thomas Binder
- Johann-Valentin-May-Strasse 7
- 64665 Alsbach-Haehnlein
- Germany
-
- InterNet: binder@rbg.informatik.th-darmstadt.de
- IRC: Gryf
-
- Please include a disk and SAE (Self Addressed Envelope) along with either
- an International Reply Coupon or a second disk, or be in a position to
- receive binaries via E-mail. You should also state whether you want the
- old or new source for T2G_BSP.TOS (renamed T2G_TEST.TOS in English). In
- the new version a somewhat more complicated, but multi-tasking friendly
- method is used for control, whereas the older version proceeds
- 'conventionally'. The new version is recommended only for those that
- already have some experience with TOS2GEM! For beginners I recommend the
- older source code.
-
- TOS2GEM has taken a considerable amount of my free time to develop and
- if you'd like to contribute to ensure I continue to support the Atari
- platform please don't hesitate to do so! This is aimed particularly, but
- not exclusively, at those that want to support TOS2GEM in their own
- programs.
-
- My banking arrangements are:
- Dresdner Bank AG Frankfurt am Main
- Account No: 9 024 050 00
- Sort code: 500 800 00
-
- Thanks a lot!
-
-
- 11.British support
- -------------------
- British support for the English-language version of TOS2GEM is provided
- by Denesh Bhabuta at:
-
- CyberSTrider
- 203 Parr Lane
- Unsworth
- Bury
- Lancashire
- BL9 8JW
-
- He will be pleased to accept any contributions on behalf of the TOS2GEM
- author gratefully, sent by Sterling or Euro-cheque, International Money
- Order or Postal Order; a minimum of 6 is recommended.
-
- Denesh also supports other Freeware and Shareware, much of it of recent
- German origin. He may be contacted by E-mail at:
-
- dbhabuta@cix.compulink.co.uk or
- danny@micros.hensa.ac.uk
-
-
- 12. What programs support TOS2GEM?
- ---------------------------------
- Currently three main programs use TOS2GEM as Console windows:
- - POVSHELL v1.3 onwards, programmed by Dirk Klemmt:
- Email: klemmt@stud.uni-frankfurt.de
- - Thing alternative desktop, programmed by Arno Welzel:
- Email: aw@zaphot.augusta.de
- - The shell Easy-PGP by Manfred Ssykor:
- Email: msy@lafp.tng.oche.de
-
- Other programmers are interested but until I'm 100% certain we'll leave
- it at that.
-
- At this time I would like to repeat an open call to all who have
- previously shown an interest: Let's hear from you! I would be glad of
- some more feedback so that I know whether and what things you are
- programming with TOS2GEM.
-
-
- 13. Credits and thanks
- ----------------------
- The following people either directly or indirectly took part in the
- development of TOS2GEM (in alphabetical order):
- - Alexander Clauss
- - Joe Connor
- - Frank Danapfel
- - Dirk Klemmt
- - Harald Schnfeld
- - Thomas Schulze
- - Manfrd Ssykor
- - Arno Welzel
-
- In addition I would like to thank all those who have been willing to send
- me a contribution for TOS2GEM.
-
-
- 14. Outloook for further development of TOS2GEM
- -----------------------------------------------
- Up to now there have been problems when one uses TOS2GEM and Gemini
- together (not fundamentally, but in certain situations - see hypertext).
- To overcome this will be the next step.
-
- Oh yes, sometime I should also finish writing the docs....
-
-
- 15. History
- -----------
- This history only contains the changes since the last pre-release
- beta-version of TOS2GEM, since otherwise it would be a bit long...
-
- TOS2GEM dated 26.07.1995:
- - Stupidly the MiNT cookie was only interrogated when starting
- TOS2GEM, therefore TOS2GEM also used buffering under MiNT if it
- was started first (the recognition of input calls doesn't work with
- MiNT, therefore one must not buffer).
- - The TOS2GEM test program now uses the option to reserve TOS2GEM
- really only when required. One can therefore start it repeatedly
- (with multi-tasking), as TOS2GEM is not permanently engaged.
-
- TOS2GEM-beta dated 09.07.1995:
- - A number of errors and inadequacies with the 'stats' evaluation
- removed.
- - With time-controlled buffering TOS2GEM now uses the VBL-interrupt,
- to trigger a screen refresh even when there has been no TOS-output
- for some time (previously checks for exceeding the set period were
- only made during output).
- - New file 'T2G_INTR.PRG' that switches on and off the use of the
- interrupt in cases when problems arise.
- - With buffering active TOS2GEM now also empties the buffer when the
- visible area is moved.
-
- TOS2GEM dated 21.06.1995:
- - New 'stats' Cookie-element, in which the contents of several
- internal variables are stored when output redirection is not
- activated so that they can be read out later (more about this in the
- docs).
-
- TOS2GEM-beta dated 01.06.1995:
- - During initialisation of the text buffer, setting of null-bytes for
- line-ends was left out (the source line seems to have got lost when
- colour support was added...)
-
- TOS2GEM-beta dated 11.05.1995
- - Serious error under MiNT removed: Due to carelessness in the source,
- buffering also took place under MiNT, though input recognition does
- not work in that case.
- - TOS2GEM can now also use time-controlled output buffering; with
- this, screen refreshes take place at pre-set time intervals. This is
- achieved by negative values in the 'buffer_output' Cookie-element.
- - Line redraw in colour mode has been converted to a 'flicker-free'
- method, which, though a little slower, is kinder on the eyes.
-
- TOS2GEM-beta dated 07.04.1995
- - TOS2GEM can now also handle colour sequences (in which I also
- include those for inverted video)! The new 'color' Cookie-element
- determines the type of colour support (compatible or VDI-
- conforming). More about this in the HYP doc, which has now been
- released.
- - Under SingleTOS, TOS2GEM output buffering now also uses a timer
- triggering a refresh after 500 ms for Bconstat calls. Thanks to
- this, TOS programs that interrogate the keyboard via Bconstat/Bconin
- will work correctly (e.g. SYSOK). Under MagiC this is unnecessary,
- as there the buffer will be cleared at each Bconstat call anyway.
-
- TOS2GEM dated 24.03.1995
- - Since I was informed in a bug report that the TOS2GEM Cookie was
- still present after a reset, TOS2GEM now also hooks into the reset
- vector to clear the Cookie pointer even when it only has to extend
- the Cookie-jar. I hope that this has removed the problem (I couldn't
- reproduce it).
- - With output buffering active, a refresh is now also performed when
- the screen contents have (internally) moved by the window height.
- Thanks to this, no output will get lost completely.
-
- TOS2GEM-beta dated 02.02.1995
- - Keyboard input is recognised now also under MagiC, so that buffering
- is also possible with this operating system. Unfortunately it
- doesn't work with MiNT/MultiTOS (though here one is likely to forego
- TOS2GEM in favour of TOSWIN/MINIWIN, which natutally also applies to
- VT52 under MagiC).
- - Buffering could be improved once more, so that output is more than
- twice as fast as without buffering (this is in part faster than the
- standard GEMDOS/BIOS output).
-
- TOS2GEM-beta dated 31.01.1995(?)
- - With the new 'buffer_output' Cookie element one can achieve
- buffering of the output, which results in a marked increase in
- speed. Unfortunately this only works under SingleTOS, as only there
- can TOS2GEM recognise keyboard output correctly (it is necessary to
- clear the buffer in this case, so one can recogise what should be
- input).
-
- TOS2GEM dated 19.01.1995
- - If TOS2GEM had to create or extend the Cookie-jar, this was lost
- when output redirection was first activated as it lay in the same
- memory region as the VDI array.
-
- TOS2GEM dated 03.01.1995
- - In re-activating output redirection via 'switch_output', the
- Y-offset was not adapted correctly. Since this was not an
- insignificant error, it is advisable to use at least this version
- (note the 'date' Cookie-element!) in programs in which the size of
- the TOS2GEM window can be altered.
- - TOS2GEM.PRG now has the memory protection flag 'global' once again
- (I forgot it the last time, because the Pure C linker unfortunately
- can't do this (at least that of PC 1.0)).
- - The header file has been improved: The constant RESERVED_SIZE now
- exists for the reserved field of the Cookie, specifying the size of
- this field.
-
- TOS2GEM dated 12.12.1994:
- - A small error occurred during calculation of two internal variables
- that resulted in faulty scrolling in some circumstances (if only
- the first pixel row of a line was visible).
- - TOS2GEM test example included in the 'large' archive, so that one
- can see what the purpose of TOS2GEM is and how it works. I hadn't
- thought of this at first (thanks to Dirk Klemmt, who brought this
- omission to my attention).
-
- TOS2GEM dated 22.11.1994:
- - First official version, unfortunately without ST-Guide documentation
- (I wanted to release TOS2GEM at the proTOS...)
- - A problem under MagiC that switches on the 'real' cursor for an
- 'Fread' call for the console and completely misplaces the one for
- TOS2GEM has now been circumvented. Though the solution was not a
- 'clean' one (write access to the negative LineA variables), I could
- not find any other reliable method.
- - TOS2GEM now has a 'Global' memory protection flag, so that no
- problems arise in this respect with Mint/MultiTOS.
-
-
- 15. English translation
- -----------------------
- English version of this document by Joe Connor, with additions and
- corrections in various files by Peter West (who is also responsible for
- the hypertext translation).
-